<?php

/*
  $Id$

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2010 osCommerce

  Released under the GNU General Public License
 */

////
// The HTML href link wrapper function
// Ultimate SEO URLs v2.2d
// The HTML href link wrapper function
function tep_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) {
    global $seo_urls;
    
	//return $page; //adđ by donghp seo
		 
    if (!is_object($seo_urls)) {
        if (!class_exists('SEO_URL')) {
            include_once(DIR_WS_CLASSES . 'seo.class.php');
        }
        global $languages_id;
        $seo_urls = new SEO_URL($languages_id);
    }
    return $seo_urls->href_link($page, $parameters, $connection, $add_session_id);

}

/* function tep_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) {
  global $request_type, $session_started, $SID;

  $page = tep_output_string($page);

  if (!tep_not_null($page)) {
  die('</td></tr></table></td></tr></table><br /><br /><font color="#ff0000"><strong>Error!</strong></font><br /><br /><strong>Unable to determine the page link!<br /><br />');
  }

  if ($connection == 'NONSSL') {
  $link = HTTP_SERVER . DIR_WS_HTTP_CATALOG;
  } elseif ($connection == 'SSL') {
  if (ENABLE_SSL == true) {
  $link = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG;
  } else {
  $link = HTTP_SERVER . DIR_WS_HTTP_CATALOG;
  }
  } else {
  die('</td></tr></table></td></tr></table><br /><br /><font color="#ff0000"><strong>Error!</strong></font><br /><br /><strong>Unable to determine connection method on a link!<br /><br />Known methods: NONSSL SSL</strong><br /><br />');
  }

  if (tep_not_null($parameters)) {
  $link .= $page . '?' . tep_output_string($parameters);
  $separator = '&';
  } else {
  $link .= $page;
  $separator = '?';
  }

  while ( (substr($link, -1) == '&') || (substr($link, -1) == '?') ) $link = substr($link, 0, -1);

  // Add the session ID when moving from different HTTP and HTTPS servers, or when SID is defined
  if ( ($add_session_id == true) && ($session_started == true) && (SESSION_FORCE_COOKIE_USE == 'False') ) {
  if (tep_not_null($SID)) {
  $_sid = $SID;
  } elseif ( ( ($request_type == 'NONSSL') && ($connection == 'SSL') && (ENABLE_SSL == true) ) || ( ($request_type == 'SSL') && ($connection == 'NONSSL') ) ) {
  if (HTTP_COOKIE_DOMAIN != HTTPS_COOKIE_DOMAIN) {
  $_sid = tep_session_name() . '=' . tep_session_id();
  }
  }
  }

  if (isset($_sid)) {
  $link .= $separator . tep_output_string($_sid);
  }

  while (strstr($link, '&&')) $link = str_replace('&&', '&', $link);

  if ( (SEARCH_ENGINE_FRIENDLY_URLS == 'true') && ($search_engine_safe == true) ) {
  $link = str_replace('?', '/', $link);
  $link = str_replace('&', '/', $link);
  $link = str_replace('=', '/', $link);
  } else {
  $link = str_replace('&', '&amp;', $link);
  }

  return $link;
  } */

// BOF - create image for slider
function tep_image_slider($src, $alt = '', $width = '', $height = '', $parameters = '') {
    if ((empty($src) || ($src == DIR_WS_IMAGES)) && (IMAGE_REQUIRED == 'false')) {
        return false;
    }


    if ((CONFIG_CALCULATE_IMAGE_SIZE == 'true') && (empty($width) || empty($height))) {
        if ($image_size = @getimagesize($src)) {
            if (empty($width) && tep_not_null($height)) {
                $ratio = $height / $image_size[1];
                $width = intval($image_size[0] * $ratio);
            } elseif (tep_not_null($width) && empty($height)) {
                $ratio = $width / $image_size[0];
                $height = intval($image_size[1] * $ratio);
            } elseif (empty($width) && empty($height)) {
                $width = $image_size[0];
                $height = $image_size[1];
            }
        } elseif (IMAGE_REQUIRED == 'false') {
            return false;
        }
    }
    // alt is added to the img tag even if it is null to prevent browsers from outputting
    // the image filename as default
    if ($width > 150 && $height > 150) {
        $image = '<img src="pthmb/phpThumb.php?src=../' . tep_output_string($src) . '&amp;w=' . $width . '&amp;h=' . $height . '&amp;iar=1" alt="' . tep_output_string($alt) . '"';
    } else {
        $image = '<img src="' . tep_output_string($src) . '" alt="' . tep_output_string($alt) . '"';
    }
    $image = '<img src="' . tep_output_string($src) . '" alt="' . tep_output_string($alt) . '"';
    if (tep_not_null($alt)) {
        $image .= ' title=" ' . tep_output_string($alt) . ' "';
    }


    if (tep_not_null($width) && tep_not_null($height)) {
        $image .= ' width="' . tep_output_string($width) . '" height="' . tep_output_string($height) . '"';
    }

    if (tep_not_null($parameters))
        $image .= ' ' . $parameters;

    $image .= ' />';

    return $image;
}
// EOF - create image for slider


// The HTML image wrapper function
// "On the Fly" Auto Thumbnailer using GD Library, servercaching and browsercaching
// Scales product images dynamically, resulting in smaller file sizes, and keeps
// proper image ratio. Used in conjunction with product_thumb.php t/n generator.
function tep_image($src, $alt = '', $width = '', $height = '', $parameters = '', $zc='') {
    
	if ((empty($src) || ($src == DIR_WS_IMAGES)) && (IMAGE_REQUIRED == 'false')) {
        return false;
    }
    if ($zc != '0') {
        $zc = 0;
    }

    //--------------------------------Add by donghp -------------------------------
	
	$pos = strpos($src, 'http://');
   
    if ($pos !== false) { $http_ok = true; } else { $http_ok=false; }
	
	if (!$http_ok)
	{
	  $pos = strpos($src, 'https://');
   
      if ($pos !== false) { $http_ok = true; } else { $http_ok=false; }
	}
	
   if ($http_ok)
		 { 		 
		 $image= '<img src="' . tep_output_string($src) . '" height=' . $height . " width = ". $width . '"';
		  if ($zc) {   $image .= ' zc="' . tep_output_string($zc) . '"';   }

		if (tep_not_null($parameters))
			$image .= ' ' . $parameters;
	
		$image .= ' border="0" alt="' . tep_output_string($alt) . '"';
	
		if (tep_not_null($alt)) {
			$image .= ' title="' . tep_output_string($alt) . '"';
		}
	
		$image .= '/>';		 	    		
	   // echo $image."<br>"; var_dump($http_ok);
		return $image;
	}
	//------------------------------------------------------------------------------

    // Set default image variable and code 
    if (!strstr($src, '.gif') && !strstr($src, '.GIF')) { //$src!="images/pixel_trans.gif"){
        if ($width == '' && $height == '') {
            $image_size = @getimagesize($src);
            $width = $image_size[0];
            $height = $image_size[1];
			$image = '<img src="' . tep_output_string($src) . '"'; //add by donghp
        }
	else  $image = '<img src="' . tep_output_string($src) . '"';
   //    $image = '<img src="product_thumb.php?src=' . tep_output_string($src) . '&amp;h=' . $height . '&amp;w=' . $width . '&amp;zc=' . $zc . '"';
    } else {
        $image = '<img src="' . tep_output_string($src) . '"';
    }
	
	//echo "SRCCCC= $image <br> ___________<br>";
	
    // Don't calculate if the image is set to a "%" width
    if (strstr($width, '%') == false || strstr($height, '%') == false) {
        $dont_calculate = 0;
    } else {
        $dont_calculate = 1;
    }

    // Dont calculate if a pixel image is being passed (hope you dont have pixels for sale)
    if (strstr($image, 'pixel')) {
        $dont_calculate = 1;
    } else {
        $dont_calculate = 0;
    }

    // Do we calculate the image size?
    if (CONFIG_CALCULATE_IMAGE_SIZE == 'true' && !$dont_calculate) {

        // Get the image's information
        if (isset($image_size) || $image_size = @getimagesize($src)) {

            if ($image_size[0] && $image_size[0] != 0) { //edit by donghp
                $ratio = $image_size[1] / $image_size[0];
            }
            else
                $ratio = 1;

            // Set the width and height to the proper ratio
            if (!$width && $height) {
                $ratio = $height / $image_size[1];
                $width = intval($image_size[0] * $ratio);
            } elseif ($width && !$height) {
                $ratio = $width / $image_size[0];
                $height = intval($image_size[1] * $ratio);
            } elseif (!$width && !$height) {
                $width = $image_size[0];
                $height = $image_size[1];
            }
            // Scale the image if not the original size
            if ($image_size[0] != $width || $image_size[1] != $height) {
                $rx = $image_size[0] / $width;
                $ry = $image_size[1] / $height;

                if ($rx < $ry) {
                    $width = intval($height / $ratio);
                } else {
                    $height = intval($width * $ratio);
                }

                // Don't resize gifs
                if (!strstr($src, '.gif')) {
                    $image = '<img src="product_thumb.php?src=' . tep_output_string($src) . '&amp;h=' . $height . '&amp;w=' . $width . '&amp;zc=' . $zc . '"';
                }
            }
        } elseif (IMAGE_REQUIRED == 'false') {
            return false;
        }
    }

    // Add remaining image parameters if they exist
    if ($width) {
        $image .= ' width="' . tep_output_string($width) . '"';
    }

    if ($height) {
        $image .= ' height="' . tep_output_string($height) . '"';
    }

    if ($zc) {
        $image .= ' zc="' . tep_output_string($zc) . '"';
    }

    if (tep_not_null($parameters))
        $image .= ' ' . $parameters;

    $image .= ' border="0" alt="' . tep_output_string($alt) . '"';

    if (tep_not_null($alt)) {
        $image .= ' title="' . tep_output_string($alt) . '"';
    }

    $image .= '/>';

    return $image;
}

/*
  ////
  // The HTML image wrapper function
  function tep_image($src, $alt = '', $width = '', $height = '', $parameters = '') {
  if ( (empty($src) || ($src == DIR_WS_IMAGES)) && (IMAGE_REQUIRED == 'false') ) {
  return false;
  }

  // alt is added to the img tag even if it is null to prevent browsers from outputting
  // the image filename as default
  $image = '<img src="' . tep_output_string($src) . '" alt="' . tep_output_string($alt) . '"';

  if (tep_not_null($alt)) {
  $image .= ' title=" ' . tep_output_string($alt) . ' "';
  }

  if ( (CONFIG_CALCULATE_IMAGE_SIZE == 'true') && (empty($width) || empty($height)) ) {
  if ($image_size = @getimagesize($src)) {
  if (empty($width) && tep_not_null($height)) {
  $ratio = $height / $image_size[1];
  $width = intval($image_size[0] * $ratio);
  } elseif (tep_not_null($width) && empty($height)) {
  $ratio = $width / $image_size[0];
  $height = intval($image_size[1] * $ratio);
  } elseif (empty($width) && empty($height)) {
  $width = $image_size[0];
  $height = $image_size[1];
  }
  } elseif (IMAGE_REQUIRED == 'false') {
  return false;
  }
  }

  if (tep_not_null($width) && tep_not_null($height)) {
  $image .= ' width="' . tep_output_string($width) . '" height="' . tep_output_string($height) . '"';
  }

  if (tep_not_null($parameters)) $image .= ' ' . $parameters;

  $image .= ' />';

  return $image;
  }
 */

////
// The HTML form submit button wrapper function
// Outputs a button in the selected language
function tep_image_submit($image, $alt = '', $parameters = '') {
    global $language;

    $image_submit = '<input type="image" src="' . tep_output_string(DIR_WS_LANGUAGES . $language . '/images/buttons/' . $image) . '" alt="' . tep_output_string($alt) . '"';

    if (tep_not_null($alt))
        $image_submit .= ' title=" ' . tep_output_string($alt) . ' "';

    if (tep_not_null($parameters))
        $image_submit .= ' ' . $parameters;

    $image_submit .= ' />';

    return $image_submit;
}

////
// Output a function button in the selected language
function tep_image_button($image, $alt = '', $parameters = '') {
    global $language;

    return tep_image(DIR_WS_LANGUAGES . $language . '/images/buttons/' . $image, $alt, '', '', $parameters);
}

////
// Output a separator either through whitespace, or with an image
function tep_draw_separator($image = 'pixel_black.gif', $width = '100%', $height = '1') {
    return tep_image(DIR_WS_IMAGES . $image, '', $width, $height);
}

////
// Output a form
function tep_draw_form($name, $action, $method = 'post', $parameters = '', $tokenize = false) {
    global $sessiontoken;
  //add by donghp
    $form = '<form id = "' . tep_output_string($name) . '" name="' . tep_output_string($name) . '" action="' . tep_output_string($action) . '" method="' . tep_output_string($method) . '"';

    if (tep_not_null($parameters))
        $form .= ' ' . $parameters;

    $form .= '>';

    if (($tokenize == true) && isset($sessiontoken)) {
        $form .= '<input type="hidden" name="formid" value="' . tep_output_string($sessiontoken) . '" />';
    }

    return $form;
}

////
// Output a form input field
function tep_draw_input_field($name, $value = '', $parameters = '', $type = 'text', $reinsert_value = true) {
    global $HTTP_GET_VARS, $HTTP_POST_VARS;

    $field = '<input type="' . tep_output_string($type) . '" name="' . tep_output_string($name) . '"';

    if (($reinsert_value == true) && ( (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) || (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) )) {
        if (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) {
            $value = stripslashes($HTTP_GET_VARS[$name]);
        } elseif (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) {
            $value = stripslashes($HTTP_POST_VARS[$name]);
        }
    }

    if (tep_not_null($value)) {
        $field .= ' value="' . tep_output_string($value) . '"';
    }

    if (tep_not_null($parameters))
        $field .= ' ' . $parameters;

    $field .= ' />';

    return $field;
}

////
// Output a form password field
function tep_draw_password_field($name, $value = '', $parameters = 'maxlength="40"') {
    return tep_draw_input_field($name, $value, $parameters, 'password', false);
}

////
// Output a selection field - alias function for tep_draw_checkbox_field() and tep_draw_radio_field()
function tep_draw_selection_field($name, $type, $value = '', $checked = false, $parameters = '') {
    global $HTTP_GET_VARS, $HTTP_POST_VARS;

    $selection = '<input type="' . tep_output_string($type) . '" name="' . tep_output_string($name) . '"';

    if (tep_not_null($value))
        $selection .= ' value="' . tep_output_string($value) . '"';

    if (($checked == true) || (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name]) && (($HTTP_GET_VARS[$name] == 'on') || (stripslashes($HTTP_GET_VARS[$name]) == $value))) || (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name]) && (($HTTP_POST_VARS[$name] == 'on') || (stripslashes($HTTP_POST_VARS[$name]) == $value)))) {
        $selection .= ' checked="checked"';
    }

    if (tep_not_null($parameters))
        $selection .= ' ' . $parameters;

    $selection .= ' />';

    return $selection;
}

////
// Output a form checkbox field
function tep_draw_checkbox_field($name, $value = '', $checked = false, $parameters = '') {
    return tep_draw_selection_field($name, 'checkbox', $value, $checked, $parameters);
}

////
// Output a form radio field
function tep_draw_radio_field($name, $value = '', $checked = false, $parameters = '') {
    return tep_draw_selection_field($name, 'radio', $value, $checked, $parameters);
}

////
// Output a form textarea field
// The $wrap parameter is no longer used in the core xhtml template
function tep_draw_textarea_field($name, $wrap, $width, $height, $text = '', $parameters = '', $reinsert_value = true) {
    global $HTTP_GET_VARS, $HTTP_POST_VARS;

    $field = '<textarea name="' . tep_output_string($name) . '" cols="' . tep_output_string($width) . '" rows="' . tep_output_string($height) . '"';

    if (tep_not_null($parameters))
        $field .= ' ' . $parameters;

    $field .= '>';

    if (($reinsert_value == true) && ( (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) || (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) )) {
        if (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) {
            $field .= tep_output_string_protected(stripslashes($HTTP_GET_VARS[$name]));
        } elseif (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) {
            $field .= tep_output_string_protected(stripslashes($HTTP_POST_VARS[$name]));
        }
    } elseif (tep_not_null($text)) {
        $field .= tep_output_string_protected($text);
    }

    $field .= '</textarea>';

    return $field;
}

////
// Output a form hidden field
function tep_draw_hidden_field($name, $value = '', $parameters = '') {
    global $HTTP_GET_VARS, $HTTP_POST_VARS;

    $field = '<input type="hidden" name="' . tep_output_string($name) . '"';

    if (tep_not_null($value)) {
        $field .= ' value="' . tep_output_string($value) . '"';
    } elseif ((isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) || (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name]))) {
        if ((isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name]))) {
            $field .= ' value="' . tep_output_string(stripslashes($HTTP_GET_VARS[$name])) . '"';
        } elseif ((isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name]))) {
            $field .= ' value="' . tep_output_string(stripslashes($HTTP_POST_VARS[$name])) . '"';
        }
    }

    if (tep_not_null($parameters))
        $field .= ' ' . $parameters;

    $field .= ' />';

    return $field;
}

////
// Hide form elements
function tep_hide_session_id() {
    global $session_started, $SID;

    if (($session_started == true) && tep_not_null($SID)) {
        return tep_draw_hidden_field(tep_session_name(), tep_session_id());
    }
}

////
// Output a form pull down menu
function tep_draw_pull_down_menu($name, $values, $default = '', $parameters = '', $required = false) {
    global $HTTP_GET_VARS, $HTTP_POST_VARS;

    $field = '<select id="' . tep_output_string($name) . '" name="' . tep_output_string($name) . '"';

    if (tep_not_null($parameters))
        $field .= ' ' . $parameters;

    $field .= '>';

    if (empty($default) && ( (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) || (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) )) {
        if (isset($HTTP_GET_VARS[$name]) && is_string($HTTP_GET_VARS[$name])) {
            $default = stripslashes($HTTP_GET_VARS[$name]);
        } elseif (isset($HTTP_POST_VARS[$name]) && is_string($HTTP_POST_VARS[$name])) {
            $default = stripslashes($HTTP_POST_VARS[$name]);
        }
    }

    for ($i = 0, $n = sizeof($values); $i < $n; $i++) {
        $field .= '<option value="' . tep_output_string($values[$i]['id']) . '"';
        if ($default == $values[$i]['id']) {
            $field .= ' selected="selected"';
        }

        $field .= '>' . tep_output_string($values[$i]['text'], array('"' => '&quot;', '\'' => '&#039;', '<' => '&lt;', '>' => '&gt;')) . '</option>';
    }
    $field .= '</select>';

    if ($required == true)
        $field .= TEXT_FIELD_REQUIRED;

    return $field;
}

// Creates a pull-down list of countries
function tep_get_country_list($name, $selected = '', $parameters = '') {
    $countries_array = array(array('id' => '', 'text' => PULL_DOWN_DEFAULT));
    $countries = tep_get_countries();

    for ($i = 0, $n = sizeof($countries); $i < $n; $i++) {
        $countries_array[] = array('id' => $countries[$i]['countries_id'], 'text' => $countries[$i]['countries_name']);
    }

    return tep_draw_pull_down_menu($name, $countries_array, $selected, $parameters);
}

// Output a jQuery UI Button
function tep_draw_button($title = null, $icon = null, $link = null, $priority = null, $params = null,$onclick_void = null) {
    //static $button_counter = 1; 
    //edit by donghp
    global $button_counter;

    if (!isset($button_counter) && ($button_counter == NULL))
        $button_counter = 1;

    $types = array('submit', 'button', 'reset');

    if (!isset($params['type'])) {
        $params['type'] = 'submit';
    }

    if (!in_array($params['type'], $types)) {
        $params['type'] = 'submit';
    }

    if (($params['type'] == 'submit') && isset($link)) {
        $params['type'] = 'button';
    }

    if (!isset($priority)) {
        $priority = 'secondary';
    }

    $button = '<span class="tdbLink">';

    if (($params['type'] == 'button') && isset($link)) {
		
		if (!$onclick_void) //add by donghp
		 {
            $button .= '<a id="tdb' . $button_counter . '" href="' . $link . '"';
		 }
        else
		{
		  $button .= '<a id="tdb' . $button_counter . '" href="javascript:void(0);" onclick="'.$link.'"';	
		}
			
        if (isset($params['newwindow'])) {
            $button .= ' target="_blank"';
        }
    } else {
        $button .= '<button id="tdb' . $button_counter . '" type="' . tep_output_string($params['type']) . '"';
    }

    if (isset($params['params'])) {
        $button.= ' ' . $params['params'];
    }

    $button .= '>' . $title;

    if (($params['type'] == 'button') && isset($link)) {
        $button .= '</a>';
    } else {
        $button .= '</button>';
    }

    $button .= '</span>'; //edit by donghp

    $button .= '<script type="text/javascript">$("#tdb' . $button_counter . '").button(';

    $args = array();

    if (isset($icon)) {
        if (!isset($params['iconpos'])) {
            $params['iconpos'] = 'left';
        }

        if ($params['iconpos'] == 'left') {
            $args[] = 'icons:{primary:"ui-icon-' . $icon . '"}';
        } else {
            $args[] = 'icons:{secondary:"ui-icon-' . $icon . '"}';
        }
    }

    if (empty($title)) {
        $args[] = 'text:false';
    }

    if (!empty($args)) {
        $button .= '{' . implode(',', $args) . '}';
    }

    $button .= ').addClass("ui-priority-' . $priority . '").parent().removeClass("tdbLink");</script>';

    $button_counter++;

    return $button;
}

////rmh referral
// Creates a pull-down list of sources
function tep_get_source_list($name, $show_other = false, $selected = '', $parameters = '') {
    $sources_array = array(array('id' => '', 'text' => PULL_DOWN_DEFAULT));
    $sources = tep_get_sources();

    for ($i = 0, $n = sizeof($sources); $i < $n; $i++) {
        $sources_array[] = array('id' => $sources[$i]['sources_id'], 'text' => $sources[$i]['sources_name']);
    }

    if ($show_other == 'true') {
        $sources_array[] = array('id' => '9999', 'text' => PULL_DOWN_OTHER);
    }
    	 
    return tep_draw_pull_down_menu($name, $sources_array, $selected, $parameters);
}

?>